/**
 * \file packet_tcp.h
 * \brief Header Packet TCP
 * \author Pierre Neumann / Julien Meutelet
 * \version 0.1
 * \date 20 decembre 2013
 *
 * Fichier header de packet_tcp.c
 *
 */
#ifndef packet_tcp_h
#define packet_tcp_h

const size_t TCP_PACKET_SIZE;  /*!< Taille de l'entête TCP */
const size_t TCP_HEADER_SIZE;  /*!< Taille d'un paquet TCP */
const int TCP_PROTOCOL_NUMBER; /*!< Numéro du protocole TCP */

/**
 * \fn init_tcp_header(char** packet, struct in_addr* destination, struct in_addr* source,int port,int ttl)
 * \brief Initialise un paquet TCP
 *
 * \param packet Chaine de caractère représentant le paquet TCP.
 * \param destination Pointeur vers la structure in_addr de la destination.
 * \param source Pointeur vers la structure in_addr de la source.
 * \param port Port sur lequel on souhaite envoyer le paquet.
 * \param ttl Entier utilisé pour initialiser le champ ttl de l'entête IP.
 * \return Rien.
 */
void init_tcp_header(char** packet, struct in_addr* destination, struct in_addr* source,int port,int ttl);

/**
 * \fn print_tcp_header(char** packet)
 * \brief Affiche l'entête TCP d'un paquet
 *
 * \param packet Chaine de caractère représentant le paquet TCP.
 * \return Rien.
 */
void print_tcp_header(char** packet);

#endif
